package com.yh.blog.mapper;

import com.yh.blog.domain.Comments;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 评论数据访问层接口
 */
@Mapper
public interface CommentsMapper {

    /**
     * 根据blogId查询其下的评论 并且parent_commentsId为-1的没有父亲的评论
     * @return 评论对象集合
     */
    public List<Comments> findCommentsByBlogIdAndNotParent(@Param("blogId") Integer blogId);

    /**
     * 根据最上层的id和博客id查询出一级回复
     * @param blogId 博客id
     * @param topCommentsId 顶层评论id
     * @return 一级回复评论的对象集合
     */
    public List<Comments> findFirstReply(@Param("blodId") Integer blogId,@Param("topCommentsId") Integer topCommentsId);

    /**
     * 根据一级回复id和博客id查询二级回复
     * @param blogId 博客id
     * @param FirstCommentsId 一级回复id
     * @return 二级回复评论对象集合
     */
    public List<Comments> findSecondReply(@Param("blodId") Integer blogId,@Param("FirstCommentsId") Integer FirstCommentsId);

    /**
     * 根据父id查询到评论
     * @param parent_commentsId 父id
     * @return 评论对象
     */
    public Comments findByParentsId(Integer parent_commentsId);

    /**
     * 新增一个评论
     * @param comments 评论对象
     * @return 布尔值
     */
    public boolean insert(Comments comments);

    /**
     * 删除博客 （删除暂时不做）--> 删除父评论 要删除其下面所有的回复  后续还要更改博客的评论数量--> 要改评论数量还要知道删了多少条
     * @param commentsId 评论id
     * @return 布尔值
     */
//    public boolean delete(Comments commentsId);
}
